<?php
/**
 * View_Tutorial
 *
 * Класс View_Tutorial обеспечивает работу с самоучителями
 * @author Стребиж Артём <artyom1989@gmail.com>
 * @version 1.0
 */
class View_Tutorial{
	/**
	 * отображенеи селектов для замены тем
	 *
	 * @param array $arrTheme
	 */
	public static function viewThemeForSwap($arrTheme){
		$themeSize = sizeof($arrTheme);
		echo '<br />
		<form action="" method="POST">
		<select name="idFirstTheme" size="' . $themeSize . '">';
		foreach ($arrTheme as $arTheme){
			$options .= '<option name="idFirstTheme" value="' . $arTheme['ID_tutorial_theme'] . '">' . $arTheme['name'] . '</option>';
		}
		echo $options . '</select>';
		echo '<select name="idSecondTheme" size="' . $themeSize . '">' . $options . '</select><br />';
		echo '<input type="submit" name="submitSwapTheme" value="Изменить порядок тем"></input>
		</form>';
	}
	/**
	 * отображение отдельной категории
	 *
	 * @param unknown_type $arrFolder
	 * @param unknown_type $idFolder
	 * @param unknown_type $whitespace
	 */
	private static function viewCurFolder($arrFolder, $idFolder, $whitespace){
		$selected = '';
		$space = '';
		if ($arrFolder['ID_folder'] == $idFolder)
			$selected = 'selected';
		for ($i = 0; $i < $whitespace; $i++){
			$space .= '&nbsp;';
		}
		echo '<option ' . $selected . ' value="' . $arrFolder['ID_folder'] . '"> ' . $space . $arrFolder['name'] . '</option>';
	}
	/**
	 * формирование древовидных категорий
	 *
	 * @param unknown_type $arrFolder
	 * @param unknown_type $idFolder
	 * @param unknown_type $whitespace
	 */
	private static function viewTreeFolder($arrFolder, $idFolder = NULL, $whitespace = NULL){
		foreach ($arrFolder as $arFolder){
			//if ($arFolder['language_amount'] != 0)
				self::viewCurFolder($arFolder, $idFolder, $whitespace);
			if (isset($arFolder['children']))
				self::viewTreeFolder($arFolder['children'], $idFolder, $whitespace + 2);
		}
	}
	public static function viewThemesSelectForTreeStructure($arrThemes = array(), $idCurTheme = NULL, $idTutorial = NULL){
		$size = sizeof($arrThemes);
		if ($size > 0){
			$selected = '';
			echo '<select name="idTheme" id="tutorialThemeSelect" size="' . $size . '">';
			foreach ($arrThemes as $arrTheme){
				if ($arrTheme['ID_tutorial_theme'] == $idCurTheme)
					$selected = 'selected';
				echo '<option ' . $selected . ' value="' . $arrTheme['ID_tutorial_theme'] . '">' . $arrTheme['name'] . '</option>';
				$selected = '';
			}
			echo '</select><br />';
		}
		elseif ($idTutorial) echo 'В выбранном  Вами самоучителе ещё <strong>нет тем</strong>. <br />Вы можете <a target="_blank" href="' . W_ABSPATH . 'tutorial/' . Tutorial::getTutorialUrlName($idTutorial) . '#tutorialThemeOfferLink" title="Откроется в новом окне/вкладке">предожить</a> собственные темы';
		else
			echo 'Вы не выбрали самоучитель';
	}

	/**
	 * функция формирует select с древовидно расположенными категориями для самоучителей и подсвечивает выбранную категорию
	 *так же формирует всю структуру при редактировании урока
	 *
	 * @param array $arrTreeLangFolder - категории
	 * @param int $idFolder
	 * @param array $arrBookName - названия нужных самоучителей
	 * @param int $idTutorial
	 * @param array $arrThemeCurBook
	 * @param int $idCurTheme
	 */
	public static function viewTutorialStructure($arrTreeLangFolder, $idFolder = NULL, $arrBookName = array(), $idTutorial = NULL, $arrThemeCurBook = array(), $idCurTheme = NULL){
		$arrFolder = $arrTreeLangFolder['arr_folder'];
		//echo $idCurTheme ; print_r($arrThemeCurBook);
		$selected = $idFolder == NULL ? "selected" : "";
		echo '<select name="folder_book" onClick="showBookName(this.form);"
		size="' . ($arrTreeLangFolder['folder_size'] + 2) . '">
		<option value="0" ' . $selected . '>Выберите категорию</option>';
		self::viewTreeFolder($arrFolder, $idFolder);
		if (sizeof($arrBookName) > 0){
			$arrOptionsBookName = self::getTutorialNameForSelect($arrBookName, $idTutorial);
			$optionsBookName = $arrOptionsBookName['option'];
			$sizeBookName = $arrOptionsBookName['size'] + 1;
			$styleBookName = '';
		}
		else {
			$sizeBookName = 2;
			$optionsBookName = '';
			$styleBookName = ' style="display:none;" ';
		}
		if (sizeof($arrThemeCurBook) > 0){
			$arrOptionsThemeName = self::getThemeNameForSelect($arrThemeCurBook, $idCurTheme);
			$optionsThemeName = $arrOptionsThemeName['option'];
			$sizeThemeName = $arrOptionsThemeName['size'] + 1;
			$styleThemeName = '';
		}
		else {
			$sizeThemeName = 2;
			$optionsThemeName = '';
			$styleThemeName = ' style="display:none;" ';
		}
		echo '</select><select id="bookName" name="bookName" size="' . $sizeBookName . '"' . $styleBookName . ' onClick="tutorial.showTheme(this.form);">' . $optionsBookName . '</select>
		<select id="bookTheme" name="bookTheme" size="' . $sizeThemeName . '"' . $styleThemeName . '>' . $optionsThemeName . '</select>';
	}
	/**
	 * возвращает названия самоучителей в тегах option и подсвечивает выбранный
	 *
	 * @param array $arrCurBookName
	 * @param int $idTutorial
	 * @return array
	 */
	public static function getTutorialNameForSelect($arrCurBookName, $idTutorial = NULL){
		$selected0 = $idTutorial == NULL ? "selected" : "";
		$option = '<option value="0" ' . $selected0 . '>Выберите самоучитель</option>';
		foreach ($arrCurBookName as $arCurBookName){
			$selected = '';
			if ($arCurBookName['ID_tutorial'] == $idTutorial)
					$selected = 'selected';
			$option .= '<option value="' . $arCurBookName['ID_tutorial'] . '"' . $selected . '>' . $arCurBookName['name'] . '</option>';
		}
		return array('size' => sizeof($arrCurBookName), 'option' => $option);
	}
	/**
	 * функция формирует названия тем в тегах option для структуры самоучителя
	 *
	 * @param array $arrCurThemeName
	 * @param int $idTheme
	 * @return array
	 */
	public static function getThemeNameForSelect($arrCurThemeName, $idTheme = NULL){
		if ($idTheme == NULL){
			$option = '<option value="0" selected >Выберите тему в самоучителе</option>';
		}
		else {
			$option = '<option value="0" >Выберите тему в самоучителе</option>';
		}
		foreach ($arrCurThemeName as $arCurThemeName){
			$selected = '';
			if ($arCurThemeName['ID_tutorial_theme'] == $idTheme)
				$selected = 'selected';
			$option .= '<option value="' . $arCurThemeName['ID_tutorial_theme'] . '"' . $selected . '>' . $arCurThemeName['name'] . '</option>';
		}
		return array('size' => sizeof($arrCurThemeName), 'option' => $option);
	}
	/**
	 * отображение меню тем столбиками
	 *
	 * @param array $arrTheme
	 * @param string $urlNameTutorial
	 */
	public static function viewThemeMenuColumn($arrTheme, $objTutorial, $arrLessons){
		echo '<div class="all_article">';
			echo '<h3 class="tutorelThemeHead">Темы самоучителя:</h3>';
		 	echo '<div class="clearWithoutClear">';
			for ($i = 0; $i < sizeof($arrTheme); $i++){
				$url = W_ABSPATH . 'tutorial/' . $objTutorial->tutorialNameForLink . '/theme/' . $arrTheme[$i]['ID_tutorial_theme'] . '/1';
				echo '<div class="themeMenuLink">';
					echo '<li class="theme_link">';
						echo '<a href="' . $url . '" id="' . $arrTheme[$i]['ID_tutorial_theme'] . '">' . $arrTheme[$i]['name'] . ' (' . $arrTheme[$i]['lesson_count'] . ')</a>';
					echo '</li>';
					echo '<a href="" class="theme_open" idTheme="' . $arrTheme[$i]['ID_tutorial_theme'] . '" onClick="tutorial.getTheme(this); return false;">';
						echo '<img src="' . W_IMAGES . 'icons/zoom.png" title="Подробнее"></img>';
					echo '</a>';
				echo '</div>';
			}
			echo '</div>';
		echo '</div>';
		$arrLessonCount = sizeof($arrLessons);
		if (!$arrLessonCount) return false;
    for ($i=0;$i<$arrLessonCount;$i++){
    	$arrLessons[$i]['type'] = 'tutorial_lesson';
    	$arrLessons[$i]['url_name'] = $objTutorial->tutorialNameForLink;
    	$arrLessons[$i]['tutorial_name'] = $objTutorial->tutorialName;
    }

    echo '<div id="theme_box" class="bottom_border" style="display:none;">';
	  $themeInfo = '<p id="lastLessonsHeader"></p>';
	  View_Common::showRoundedBox($themeInfo, 'width:auto; margin:20px 0 10px 0;');
    echo View_Tutorial::getLessonsTable($arrLessons);
		echo '</div>';
	}
	/**
	 * вывод в блоке меню тем самоучителя
	 *
	 * @param array $arrTheme - все темы для вывода
	 * @param string $bookNameForLink - url_name самоучителя для ссылок
	 * @param int $idCurTheme - id текущей темы
	 */
	public static function viewThemeMenu($arrTheme, $bookNameForLink, $idCurTheme = NULL, $idFolder = NULL, $idTutorial = NULL){
		if (!is_NULL($idCurTheme)){
			$url = W_ABSPATH . 'tutorial/lesson/add/' . $idFolder . '/' . $idTutorial . '/' . $idCurTheme;
		}
		$objSession = User_Session::instance();
		$close = User_Variable::getVariableValue($objSession->getUserId(), "tutorialThemeMenuFlag");
		if($close == 0) // закрыто
			$close = true;
		elseif ($close == 1) // открыто
			$close = false;
		echo '<ul><a class="'; echo $close ? 'menu_tem_close' : 'menu_tem_open'; echo '" id="menu_tem_link"
		attr_closed_class="menu_tem_close" attr_opened_class="menu_tem_open" attr_click_on_open="setUserVariable(\'tutorialThemeMenuFlag\', 1);" attr_click_on_close="setUserVariable(\'tutorialThemeMenuFlag\', 0);" attr_no_fade="true">
		<span>Меню тем самоучителя</span></a><br /><div id="menu_tem"';
		echo $close ? 'style="display: none;"' : ''; echo '>';
		foreach ($arrTheme as $arTheme){
			if (!is_NULL($idCurTheme) && $idCurTheme == $arTheme['ID_tutorial_theme'])
				$linkText = '<b class="themeNameWithEdit">' . $arTheme['name'] . '</b>';
			else
				$linkText = $arTheme['name'];
			$url = W_ABSPATH . 'tutorial/' . $bookNameForLink . '/theme/' . $arTheme['ID_tutorial_theme'] . '/1';
			echo '<li><a href="' . $url . '">' . $linkText . '</a></li>';
		}
		echo '</div></ul>';

	}
	/**
	 * отображение древовидного списка всех самоучителей
	 *
	 * @param array $arrLangFolder
	 */
	public static function viewAllTutorialStructure($arrLangFolder){
		//echo '<pre>';
		//print_r($arrLangFolder);
		//echo  '</pre><br />';
		if(!isset($objTutorial))
			$objTutorial = new Tutorial();
		foreach ($arrLangFolder as $arLangFolder){
			echo '<div class="nameLangFolder">' . $arLangFolder['name'];
			$arrTutorialNameForCurFolder = $objTutorial->getTutorialNameCurFolder($arLangFolder['ID_folder']);
			if (sizeof($arrTutorialNameForCurFolder) != 0){
				foreach ($arrTutorialNameForCurFolder as $arTutorialNameForCurFolder){
					$url = W_ABSPATH . 'tutorial/' . $arTutorialNameForCurFolder['url_name'];
					echo '<div class="nameLangFolder"><a href="' . $url . '">' . $arTutorialNameForCurFolder['name'] . '</a></div>';
				}
			}
			if (isset($arLangFolder['children']))
				View_Tutorial::viewAllTutorialStructure($arLangFolder['children']);
			echo '</div>';
		}
	}

	/**
	 * отображение древовидного списка всех самоучителей
	 *
	 * @param array $arrLangFolder
	 */
	public static function viewTutorialTreeStructure($arrLangFolder){
		//echo '<pre>';
		//print_r($arrLangFolder);
		//echo  '</pre><br />';
/*		if(!isset($objTutorial))
			$objTutorial = new Tutorial();*/

		foreach ($arrLangFolder as $arLangFolder){
			/*echo '<pre>';
			print_r($arLangFolder);
			echo '</pre>';*/
			echo '<li><span class="folder">' . $arLangFolder['folder_name'] . '</span>';
			$arrTutorialNameForCurFolder = isset($arLangFolder['array_tutorial']) ? $arLangFolder['array_tutorial'] : NULL; //
			//print_r($arrLangFolder['array_tutorial']);
			if ($arrTutorialNameForCurFolder != NULL){
				echo '<ul>';
				foreach ($arrTutorialNameForCurFolder as $arTutorialNameForCurFolder){
					$url = W_ABSPATH . 'tutorial/' . $arTutorialNameForCurFolder['url_name'];
					echo '<li><span class="file"><a href="' . $url . '">' . $arTutorialNameForCurFolder['name'] . '</a></span></li>'; // <input type="radio" value="0" name="approved[]"/> //
				}
				if (isset($arLangFolder['children'])){
					View_Tutorial::viewTutorialTreeStructure($arLangFolder['children']);
					echo '</ul>';
				}
				else {
					echo '</ul>';
				}
			}
			elseif (isset($arLangFolder['children'])){
				echo '<ul>';
				View_Tutorial::viewTutorialTreeStructure($arLangFolder['children']);
				echo '</ul>';
			}
		}
	}

	public static function viewAllTutorialTreeStructure($arrLangFolder){
		echo '<div id="main">';
		echo ' 	<ul id="browser" class="filetree">';
		View_Tutorial::viewTutorialTreeStructure($arrLangFolder);
		echo '
				</ul>
			  </div>';
	}

	/**
	 * вывод ссылок вперёд|назад для уроков
	 *
	 * @param array $arrLessonsName
	 * @param int $idCurLesson
	 * @param string $bookName - для url
	 */
	public static function viewNextBackLinkForLesson($arrLessonsName, $idCurLesson, $bookName){
		$idBack = NULL;
		$idNext = NULL;
		foreach ($arrLessonsName as $arLessonsName){
			if ($arLessonsName['ID_tutorial_lesson'] < $idCurLesson)
				$idBack = $arLessonsName['ID_tutorial_lesson'];
		}
		for ($i = (sizeof($arrLessonsName) - 1); $i > 0; $i--){
			if ($arrLessonsName[$i]['ID_tutorial_lesson'] > $idCurLesson)
				$idNext = $arrLessonsName[$i]['ID_tutorial_lesson'];
		}
		//echo '<br />back => ' . $idBack . '<br />next => ' . $idNext;
		echo '<div class="next_back">';
		if (!is_NULL($idBack)){
			$url = W_ABSPATH . 'tutorial/' . $bookName . '/lesson/' . $idBack;
			echo '<a class="back" href="' . $url . '"><< Предыдущий урок</a>';
		}
/*		else
			echo '<a class="back"><< Предыдущий урок</a>';*/
		if (!is_NULL($idNext)){
			$url = W_ABSPATH . 'tutorial/' . $bookName . '/lesson/' . $idNext;
			echo '<a class="next" href="' . $url . '">Следующий урок >></a>';
		}
/*		else
			echo '<a class="next">Следующий урок >></a>*/
			echo '</div>';
	}

	/**
	 * отображение генератора подсветки кода
	 *
	 * @param array $arrAllLangFolder - массив с языками для структуры языков
	 * @param int $idCode - передаётся, если код отправлен на сервер
	 * @param array $arrCode - передаётся, если код уже сохранён - для вывода результата
	 */
/*	public static function viewGeneratorOfCodeHighlight($arrAllLangFolder, $idCode = NULL, $arrCode = array()){
		$codeValue = isset($_POST['generatorOfCodeHighlight_text']) ? stripcslashes($_POST['generatorOfCodeHighlight_text']) : '';
		$idFolder = isset($_POST['folder']) ? $_POST['folder'] : NULL;
		$idLang = isset($_POST['lang']) ? $_POST['lang'] : NULL;
		$arrLangForCurFolder = array();
		if (!is_NULL($idFolder))
			$arrLangForCurFolder = View_Code::getLanguageForFolder(Code::getLanguageArrForFolder($idFolder), $idFolder, $idLang);
		echo '<form id="generatorOfCodeHighlight_form" action="" method="POST" >Генератор подсветки кода<br />';
		View_Code::viewLangStructure($arrAllLangFolder, $arrLangForCurFolder);
		echo '<div id="forAjaxLoadingCode" attrNowLoading=""></div><br />код:<br />
		<textarea class = "ysiwygComment" cols="90" rows="10" name="generatorOfCodeHighlight_text" >' . $codeValue . '</textarea><br />
		<input type="submit" name="generatorOfCodeHighlight_submi " value="Подсветить код" onClick="addCode(this.form);return false;"></input><br />
		<div id="forAjaxLoadingCodeHighlight" attrNowLoading=""></div>';
		if (!is_NULL($idCode)){
			$codeLink = '{code_' . $idCode . '}';
			echo 'Код подсвечен<br />
			вставьте эту ссылку =>&nbsp;&nbsp;' . $codeLink . '&nbsp;&nbsp;<= в то место текста, где нужен этот код<br />
			Результат подсветки:<br />';
			echo '<div class="code">' . $arrCode['code'] . '</div>';
		}
		echo '<br /></form>';
	}*/

	/**
	 * отображение генератора подсветки кода
	 *
	 * @param array $arrAllLangFolder - массив с языками для структуры языков
	 * @param int $idCode - передаётся, если код отправлен на сервер
	 * @param array $arrCode - передаётся, если код уже сохранён - для вывода результата
	 */
	public static function viewGeneratorOfCodeHighlight($arrAllLangFolder, $idCode = NULL, $arrCode = array(), $linearFlag = false, $idUser = NULL, $idCurElement = '', $closeOnClick = false, $idFolder = false, $essenceType = false){

		if ($essenceType == 'question'){ //			$idFolder = рутовый id, если это общие или другие вопросы
			$arrFolderInfo = TreeStructure::getFolderInfo($idFolder);
			if ($arrFolderInfo['show_folder'] == 0)
				$idFolder = $arrFolderInfo['ID_root_folder'];
		}
		$langName = TreeStructure::getFolderLangInfo($idFolder);

		$idLang = $idFolder;
		$arrLangForCurFolder = array();
//		if (!is_NULL($idFolder))
//			$arrLangForCurFolder = View_Code::getLanguageForFolder(Code::getLanguageArrForFolder($idFolder), $idFolder, $idLang);
		echo '<form id="generatorOfCodeHighlight_form" action="" method="POST" >';
		$hide = false;
		if ($idFolder && $langName != '' && !$linearFlag) $hide = true;
		View_TreeStructure::viewAllTreeStructure($arrAllLangFolder, 'programming_language', $idLang, true, $linearFlag, $idUser, false, $idFolder, false, $closeOnClick, '', $hide);
		if ($hide){
			echo '<a href="" class="jsHref treeStructureGreen" onClick="treeStructure.openFolderForLangSelect(this); return false;">' . $langName . ' (сменить)</a>';
		}
		echo '<div id="forAjaxLoadingCode" attrNowLoading=""></div>
		<div style="margin:10px 0 5px 0;">Код для подсветки:</div>
		<textarea class = "ysiwygComment" style="width:490px; height:200px" name="generatorOfCodeHighlight_text" ></textarea>

		<div style="margin:10px 0 5px 0;">
		  <input type="checkbox" name="noHighlight" id="noHighlight"/>
      <label for="noHighlight">Нажмите, чтобы вставить код без подсветки</label><br />
    </div>
  		<input type="submit" name="generatorOfCodeHighlight_submi " style="margin:5px 0;" value="Вставить код" onClick="addCode(\'' . $idCurElement . '\');return false;"></input><br />

		<div id="forAjaxLoadingCodeHighlight" attrNowLoading=""></div>';
		if (!is_NULL($idCode)){
			$codeLink = '{code_' . $idCode . '}';
			echo 'Код подсвечен<br />
			вставьте эту ссылку =>&nbsp;&nbsp;' . $codeLink . '&nbsp;&nbsp;<= в то место текста, где нужен этот код<br />
			Результат подсветки:<br />';
			echo '<div class="code">' . $arrCode['code'] . '</div>';
		}
		echo '<br /></form>';
	}






	/**
	 * вывод ссылок вперёд|назад для тем
	 *
	 * @param array $arrThemeCurBook
	 * @param int $idCurTheme
	 * @param string $bookName - для url
	 */
	public static function viewNextBackLinkForTheme($arrThemeCurBook, $idCurTheme, $bookName){
		$idBack = NULL;
		$idNext = NULL;
		//print_r($arrThemeCurBook);
		for ($i = 0; $i < sizeof($arrThemeCurBook); $i++){
			if ($arrThemeCurBook[$i]['ID_tutorial_theme'] == $idCurTheme){
				$keyCurTheme = $i;
			}
		}
		//echo $keyCurTheme;
		if (isset($keyCurTheme) && isset($arrThemeCurBook[$keyCurTheme - 1]['ID_tutorial_theme']))
			$idBack = $arrThemeCurBook[$keyCurTheme - 1]['ID_tutorial_theme'];
		else
			$idBack = NULL;
		if (isset($keyCurTheme) && isset($arrThemeCurBook[$keyCurTheme + 1]['ID_tutorial_theme']))
			$idNext = $arrThemeCurBook[$keyCurTheme + 1]['ID_tutorial_theme'];
		else
			$idNext = NULL;
		//echo '<br />back => ' . $idBack . '<br />next => ' . $idNext;
		echo '
			<div class="next_back">';
		if (!is_NULL($idBack)){
			$url = W_ABSPATH . 'tutorial/' . $bookName . '/theme/' . $idBack . '/1';
			echo '<a class="back" href="' . $url . '"><< Предыдущая тема</a>';
		}
/*		else
			echo '<a class="back"><< Предыдущая тема</a>';*/
		if (!is_NULL($idNext)){
			$url = W_ABSPATH . 'tutorial/' . $bookName . '/theme/' . $idNext . '/1';
			echo '<a class="next" href="' . $url . '">Следующая тема >></a>';
		}
/*		else
			echo '<a class="next"> Следующая тема >></a>*/
			echo '</div>';
	}
	/**
	 * обработка информации о теме для вывода на экран
	 *
	 * @param array $arrTheme
	 * @param array $arrStarsControls
	 * @return array
	 */
	public static function viewTheme($arrTheme, $objTutorial, $pageNum = 0){
		$objSession = User_Session::instance();
		$arrLessonCount = sizeof($arrTheme);
    if ($arrLessonCount == 0){
	    echo '<div class="no_essences_notice">
	  				<p>В этой теме уроков пока что нет.</p>
	    <p>Вы можете <a href="' . W_ABSPATH . 'tutorial/lesson/add?idFolder=' . $objTutorial->idFolder . '&idTutorial=' . $objTutorial->idTutorial . '&idTheme=' . $objTutorial->idTheme . '">добавить первый урок</a><a href="' . W_ABSPATH . 'tutorial/lesson/add?idFolder=' . $objTutorial->idFolder . '&idTheme=' . $objTutorial->idTheme . '"><img class="arrowRight" src="' . W_IMAGES . 'arrowRight.gif" /></a></p>
	    </div>';
	    return false;
    }
    if ($pageNum > 0) { // Если задан номер страницы
    	$startEl = ($pageNum - 1) * $objTutorial->getItemsPerPage();
    	$endEl = $objTutorial->getItemsPerPage() + $startEl;
    }else {
    	$startEl = 0;
    	$endEl = $arrLessonCount;
    }
    for ($i=0;$i<$arrLessonCount;$i++){
    	$arrTheme[$i]['type'] = 'tutorial_lesson';
    	$arrTheme[$i]['url_name'] = $objTutorial->tutorialNameForLink;
    	$arrTheme[$i]['tutorial_name'] = $objTutorial->tutorialName;
    	$arrTheme[$i]['show'] = ($i < $startEl || $i >= $endEl) ? false : true;
    }

    echo '<div class="bottom_border" id="lessons_list">';
    echo View_Tutorial::getLessonsTable($arrTheme);
		echo '</div>';

	}

	/**
	 * Метод выводит блок со списком авторов
	 *
	 * @param array $arrAuthors
	 * @param boolean $withJs - если true, то по клику на автора в списке уроков темы останутся только уроки автора
	 */
	public static function showAuthorsBlock($arrAuthors, $withJs = false){
		$size = sizeof($arrAuthors);
		if ($size == 0) return false;
		$html = "<p>Авторы уроков темы <b>" . $arrAuthors[0]['theme_name'] . "</b> </p>";
		$class = $withJs ? "jsHref" : "";
		if ($withJs){
			$html .= '<a href="" class="' . $class . '" ' . ($withJs ? 'onClick="tutorial.getThemeFromAllAuthor(this);return false;"' : NULL) . '>Все авторы</a>, ';
		}
		for ($i=0;$i<$size;$i++){
			$html .= '<a href="" class="' . $class . '" idTheme="' . $arrAuthors[$i]['ID_tutorial_theme'] . '"
			idAuthor="' . $arrAuthors[$i]['ID_author'] . '"' . ($withJs ? 'onClick="tutorial.getThemeFromAuthor(this);return false;"' : NULL) . '>' . $arrAuthors[$i]['login'] . '</a>';
			$i != $size-1 ? $html .= ", " : NULL;
		}
		echo '<div id="author_box">';
		View_Common::showRoundedBox($html, 'width:auto;margin:15px 0 10px; 0;');
		echo '</div>';
	}

	/**
	 * Метод выводит блок со списком уроков автора в теме в две колонки
	 *
	 * @param array $arrLessonsList
	 * @param int $limit
	 * @return boolean
	 */
	public static function showAuthorsLessonsList($arrLessonsList, $limit = 20){
		$size = sizeof($arrLessonsList);
		if ($size > 0){
			if (!isset($objTutorial))
				$objTutorial = new Tutorial();
			$innerHtml = 'Список ' . ($size > $limit ? 'последних ' : NULL) . 'уроков автора ' . $arrLessonsList[0]['user_login'] . ' в теме <b>' . $arrLessonsList[0]['theme_name'] . '</b>:<br />';
			$innerHtml .= '<table style="width:100%">';
			$size > $limit ? $size = $limit : NULL;
			$rowsNum = (int) round($size/2, 0); // определяем количество строк в таблице
			for ($i=0;$i<$size;$i=$i+2){
				$innerHtml .= '<tr>';
				$innerHtml .= '<td><span class="lesson_number"> ' . ($i+1) . ') </span><a href="' . $objTutorial->getLessonUrl($arrLessonsList[$i]['ID_tutorial_lesson']) . '" class="lesson_link">';
				$innerHtml .= $arrLessonsList[$i]['lesson_name'];
				$innerHtml .= '</a></td>';
				if (isset($arrLessonsList[$i+1])){
					$innerHtml .= '<td><span class="lesson_number"> ' . ($i+2) . ') </span><a href="' . $objTutorial->getLessonUrl($arrLessonsList[$i+1]['ID_tutorial_lesson']) . '" class="lesson_link">';
					$innerHtml .= $arrLessonsList[$i+1]['lesson_name'];
					$innerHtml .= '</a></td>';
				}
				$innerHtml .= '</tr>';
			}
			$innerHtml .= '</table>';
			echo '<div class="author_lesson_list" id="author_box">';
			View_Common::showRoundedBox($innerHtml);
			echo '</div>';
		}
		else return false;
	}

	// донастроить ссылку, чтобы она передавала id автора для фильтрации
	public static function showAnotherAuthorsInThemeList($arrAuthors, $objTutorial){
		$size = sizeof($arrAuthors);
		if ($size > 0){
			$innerHtml = 'На эту тему пишут авторы:<br />';
			for ($i=0;$i<$size;$i++){
				$innerHtml .= '<a href="' . W_ABSPATH . 'tutorial/' . $objTutorial->tutorialNameForLink . '/theme/' . $objTutorial->idTheme . '/1" class="author_link">';
				$innerHtml .= $arrAuthors[$i]['login'];
				$innerHtml .= '</a><br/>';
			}
			echo '<div class="another_author_list" id="author_box">';
			View_Common::showRoundedBox($innerHtml);
			echo '</div>';
		}
		else return false;
	}

	/**
	 * вывод меню комплексов сакмоучителя
	 *
	 * @param array $arrComplex
	 * @param int|string $complexAmount - кол-во лучших или слово all - для снятия ограничения
	 * @param string $curUrl
	 * @param int $idCurComplex
	 * @param int $idCurLesson
	 */
	public static function viewComplexMenu($arrComplex, $complexAmount, $curUrl, $idCurComplex = NULL, $idCurLesson = NULL, $arrTheme = array(), $idCurTheme = NULLl, $idFolder = NULL, $idTutorial = NULL){ // если выбранный комплекс окажется не в первой пятёрке
/*		echo '<pre>';
		print_r($arrComplex);
		echo sizeof($arrComplex);
		echo $complexAmount . '</pre>';*/
		echo '<div class="box_lessons">
						<div class="svertka">
							<div class="top_svertka">
								<div class="bootom_sverntka">';
		View_Tutorial::viewThemeMenu($arrTheme, $arrComplex['url_name'], $idCurTheme, $idFolder, $idTutorial);
/*		$objSession = User_Session::instance();
		$close = User_Variable::getVariableValue($objSession->getUserId(), "tutorialComplexMenuFlag");
		if($close == 0) // закрыто
			$close = true;
		elseif ($close == 1) // открыто
			$close = false;

		echo '				<div class="top_svertka">';
		echo '<ul id="complexUl"><a class="'; echo $close ? 'menu_complex_close' : 'menu_complex_open'; echo '" id="menu_complex_link"
		attr_closed_class="menu_complex_close" attr_opened_class="menu_complex_open" attr_click_on_open="setUserVariable(\'tutorialComplexMenuFlag\', 1);" attr_click_on_close="setUserVariable(\'tutorialComplexMenuFlag\', 0);" attr_no_fade="true">
		<span>Меню комплексов</span></a><br /><div id="menu_complex"';
		echo $close ? 'style="display: none;"' : ''; echo '>';
		for ($i = 0; $i < $arrComplex['size']; $i++){
			$urlComplex = W_ABSPATH . 'tutorial/' . $arrComplex['url_name'] . '/complex/' . $arrComplex[$i]['ID_tutorial_complex'] . '/1';
			if ($idCurComplex == $arrComplex[$i]['ID_tutorial_complex'])
				$linkComplexText = '<b>' . $arrComplex[$i]['name'] . '</b>';
			else
				$linkComplexText = $arrComplex[$i]['name'];
			$style = '';
			if (is_int($complexAmount))
				if ($i+1 > $complexAmount)
					$style = 'style="display: none; " attrHide="hide" ';
			echo '
						<li ' . $style . ' class="complexLi">
							<a href="' . $urlComplex . '">' . $linkComplexText . '</a>
							<ul>';
			if (isset($arrComplex[$i]['array_lesson']) && sizeof($arrComplex[$i]['array_lesson']) > 0)
				foreach ($arrComplex[$i]['array_lesson'] as $arLessons){
					$urlLesson = W_ABSPATH . 'tutorial/' . $arrComplex['url_name'] . '/lesson/' . $arLessons['ID_tutorial_lesson'];
					if ($idCurLesson == $arLessons['ID_tutorial_lesson'])
						$linkLessonText = '<b>' . $arLessons['lesson_name'] . '</b>';
					else
						$linkLessonText = $arLessons['lesson_name'];
					echo '<li><a href="' . $urlLesson . '">' . $linkLessonText . '</a></li>';
				}
				echo '
							</ul>
						</li>';
		}
		echo '</div></ul>';
		if ($complexAmount != 'all' && $arrComplex['size'] > $complexAmount)
			echo '
					<span class="all_components">
						<a id="maximizedComplexMenu" href="" onclick="tutorial.maximizedComplexMenu(this); return false;">Далее</a>
					</span>';
		echo '
									</div>';*/
		echo '
								</div>
							</div>
						</div>
					</div>';
	}
	/**
	 * обработка информации о комплексе и подготовка для вывода на экран
	 *
	 * @param array $arrComplexAll
	 * @param array $arrStarsControls
	 * @param int $idComplex
	 * @return array
	 */
	public static function viewComplex($arrComplex, $idUser, $tutorialNameForLink, $curUrl, $arrCurComplex, $complexAmount, $curUrl, $idCurComplex = NULL, $idCurLesson = NULL, $arrTheme = array(), $idCurTheme = NULLl, $idFolder = NULL, $idTutorial = NULL, $arrUrls = array()){
		$arrLessons = $arrComplex['array_lesson'];
		$arrLessonsCount = sizeof($arrLessons);
		if ($arrLessonsCount == 0){
			echo 'В этом комплексе ещё нет материалов';
			return false;
		}else {
/*		echo '
		<div class="top_info_text" style="margin-bottom:20px;">
		<ul class="rating" style="margin-top: 5px;">
		<li class="one">' . round($arrComplex['average_mark'], 2) . '</li>
<li class="second">' . round($arrComplex['average_complexity_mark'], 2) . '</li>
</ul>
<div class="right_ifno_text">
<h2 style="padding-left:18px; padding-top: 10px;">Комплекс: <a href="' . W_ABSPATH . 'tutorial/' . $tutorialNameForLink . '/complex/' . $arrComplex['ID_tutorial_complex'] . '/1">' . $arrComplex['complex_name'] . '</a></h2>

</div>


</div>';*/

			$objSession = User_Session::instance();
			$i=0;
			$showMenu = false;
			foreach ($arrLessons as $arrLesson){
				$idLesson = $arrLesson['ID_tutorial_lesson'];
				$curLessonUrl = W_ABSPATH . 'tutorial/' . $tutorialNameForLink . '/lesson/' . $idLesson;
				$showMenu = $i==0?true:false;
				self::viewLesson($arrLesson, $idUser, $curLessonUrl, $tutorialNameForLink, $idLesson, false, $arrCurComplex, $complexAmount, $curUrl, $idCurComplex, $idCurLesson, $arrTheme, $idCurTheme, $idFolder, $idTutorial, $showMenu, $arrUrls);
				$i++;
			}
		}
/*		if (isset($arrComplex['ID_tutorial_complex'])){
				echo 'Оценки комплекса
				<ul class="bottom_ocenku">
					<li><strong>Сложность:</strong>
					<div class="slognost">';
			View_Mark::showMark(8, $arrComplex, 1, 'complexity', true);  // вывод сложности темы без выставления
			echo '  </div></li>
					<li><strong>Качество:</strong>
					<div class="kachestvo">';
			View_Mark::showMark(8, $arrComplex, 0, 'stars', true);  // вывод оценки темы без выставления
			echo '	</div></li>
				</ul>';

		}*/

	}
	/**
	 * отображение списка предложений тем
	 *
	 * @param array $arrOfferTheme
	 * @param string $strErrAddOfferTheme
	 */
	public static function viewOfferThemeCurTutorial($arrOfferThemes, $maxAmount = 5){
		//print_r($arrOfferTheme);
		echo '<h2>Предлагаемые темы</h2>
				<ul class="all_tem">';
		$i = 1;
		$style = "";
		foreach ($arrOfferThemes as $arrOfferTheme){
			if ($i > $maxAmount)
				$style = ' style="display : none;" attrHide="hide" ';
			if ($arrOfferTheme['approved_status'] == 0){
				echo '<li ' . $style . '><span style="padding-right: 30px;">' . $arrOfferTheme['name'] . '
							<strong>Предложений:&nbsp;' . Poll::calculateMark($arrOfferTheme['marks_minus'], $arrOfferTheme['marks_plus'], 1) . '</strong></span>';
				  View_Poll::showMark($arrOfferTheme['ID_tutorial_theme_offer'], $arrOfferTheme['essence_type'], $arrOfferTheme['session_user_poll'], NULL, $arrOfferTheme['marks_minus'], $arrOfferTheme['marks_plus'], false, 1);
				echo '</li>';
				$i++;
			}
		}
		echo '</ul>';
		if ($i > $maxAmount)
			echo '<div class="read_all_tem">
				<a class="read_all_tem" href="" onclick="tutorial.readAllTheme(); return false;">Все предлагаемые темы</a>
			  </div>';
	}
	/**
	 * отображенгие списка предложений тем для админа
	 *
	 * @param array $arrTheme
	 */
  	public static function viewOfferedThemeList($arrTheme){
    	if (!isset($objTutorial))
      $objTutorial = new Tutorial();
   	  echo '<form action="" method="POST" id="approveEssencesForm">
          <table cellcpacing="0" cellpadding="0" id="themesOffersTable">
            <tr>
              <th>Название</th>
              <th>Первый пользователь</th>
              <th>Кол-во предложений</th>
              <th>Выбрать</th>
            </tr>';
    foreach ($arrTheme as $arTheme) {
  	  //$arrCurChapter = $objQuestion->getChapter($arrChapter['ID_root_chapter']); //Получаем информацию о родительском разделе для предложенного раздела
      if ($arTheme['approved_status'] == 0){ // если тема ещё не утверждена
  	  echo '<tr>
              <td>' . $arTheme['name'] . '</td>
              <td>' . $arTheme['login'] . '</td>
              <td>' . $arTheme['amount'] . '</td>
              <td><input type="checkbox" name="approved[]" value="' . $arTheme['ID_tutorial_theme_offer'] . '"></td>
            </tr>';
      }
    }
    echo '</table>
          <div class="collectionAction">
            <a href="#" onClick="return false;" title="" id="selectAll">All</a>, <a href="#" onClick="return false;" title="" id="selectNone">None</a>
          </div>
          <input type="submit" name="submitApproveOfferedThemes" value="Утвердить" />
          <input type="submit" name="submitDeleteOfferedThemes" value="Удалить" onClick="return confirm(\'Вы действительно хотите удалить?\')" />
          </form>';
  }

  public static function viewThemesPriorityList($arrThemes){
echo '
		<form action="" method="POST" id="approveChaptersForm">
		  <div id="messageArea"></div>
          <table cellcpacing="0" cellpadding="0" id="table-2">
            <tr noDrag="true">
              <th>Текущая<br />последовательность</th>
              <th>Название темы</th>
              <th>Ссылка на неё</th>
              <th>Количество уроков</th>
            </tr>
            </table>
            <table cellcpacing="0" cellpadding="0" id="table-1">';
    foreach ($arrThemes as $arrTheme) {
  	  //$arrCurChapter = $objQuestion->getChapter($arrChapter['ID_root_chapter']); //Получаем информацию о родительском разделе для предложенного раздела

  	  echo '<tr id="' . $arrTheme['sort_num'] .'">
              <td style="width:290px;">' . $arrTheme['sort_num'] . '<input type="hidden" name="themeIds[]" value="' . $arrTheme['ID_tutorial_theme'] . '"/>
              <input type="hidden" name="themeSortNums[]" value="' . $arrTheme['sort_num'] . '"></td>
              <td>' . $arrTheme['name'] . '</td>
              <td><a href="' . W_ABSPATH . 'tutorial/' . $arrTheme['url_name'] . '/theme/' . $arrTheme['ID_tutorial_theme'] . '/1">' . $arrTheme['name'] . '</a></td>
              <td>' . $arrTheme['lesson_count'] . '</td>
            </tr>';

    }
    $val = isset($arrThemes[0]['ID_tutorial']) ? $arrThemes[0]['ID_tutorial'] : NULL;
    echo '</table>
    	  <input type="hidden" name="idTutorial" value="' . $val . '"/>
          <input type="submit" name="submitApprovePriorityThemes" value="Подтвердить" />
          </form>';
  	//suggested_theme_priority     при перестановке - ajax запрос
  }

  public static function viewThemePriorityModule($arrThemes){
  	foreach ($arrThemes as $arrTheme){
  		echo $arrTheme['name'] . '<br />';
  	}
  }

  public static function viewLesson($arrLesson, $idUser, $curLessonUrl, $tutorialNameForLink, $idLesson, $showEditTags = true, $arrComplex, $complexAmount, $curUrl, $idCurComplex = NULL, $idCurLesson = NULL, $arrTheme = array(), $idCurTheme = NULLl, $idFolder = NULL, $idTutorial = NULL, $showComplexMenu = false, $arrUrls = array()){
  	$objSession = User_Session::instance();
  	if ($idUser && $showEditTags)
  		View_Tags::makeAddTagsForm($idLesson, Service_Essence::getEssenceTypeID('tutorial_lesson'));
  	if (!$showEditTags)	{
  		for($i=0;$i<sizeof($arrUrls);$i++)
  			if (isset($arrUrls[$i]['complex']) || isset($arrUrls[$i]['theme']))
  				break;
  		View_TreeStructure::viewBreadcrumbs(array(0=>array('url'=>$arrUrls[$i]['url'], 'name'=>$arrUrls[$i]['name'], 'style'=>'font-size:14px;'), 1=>array('name'=>$arrLesson['name'], 'style'=>'font-size:14px;')));
/*			echo '<ul><li style="display: inline; float:nine; margin:0 3px 0 -18px; padding:0 19px 0 18px; background: transparent url(../images/background/bg_strelka.gif) no-repeat scroll 100% 50%">
			<h4><a href="' . $arrUrls[$i]['url'] . '" >' . $arrUrls[$i]['name'] . '</a></h4></li>
			<li style="display: inline; float:nine; margin:0 3px 0 -18px; padding:0 19px 0 18px;"><h4> ' . $arrLesson['name'] . '</h4></li></ul>';*/
  	}
		else
			echo '<div style="color: #000000; font-size:16px; padding-top:10px;"><b>Урок: ' . $arrLesson['name'] . '</b></div>';
  	echo '

						<div class="item">
							<div class="top_info_text">
								<ul class="rating">
									<li class="one">' . round($arrLesson['total_mark'], 2) . '</li>
									<li class="second">' . round($arrLesson['average_complexity_mark'], 2) . '</li>
									<li class="coments">
										<a href="#comments">' . $arrLesson['comment_amount'] . '</a>
									</li>
								</ul>
								<div class="right_ifno_text">
									<ul class="info_coments">
										<li class="date">' . Service_Date::getCaseDateForUser($arrLesson['creation']) . '</li>
										<li class="user"><a href="' . W_ABSPATH . 'user/' .  $arrLesson['login'] . '">' . $arrLesson['login'] . '</a></li>
									</ul>
										' . View_Tags::showTagsInList($arrLesson['tags'], 7, '') . '
								</div>
								<div class="floatRight"><a class="none readerHref" href="javascript:reader.activateReadar();"><img alt="Режим чтения" title="Режим чтения" src="' . W_IMAGES . 'icons/kghostview.png"/></a></div>
							</div>';

						echo '
					 </div>';
				if ($showComplexMenu)
					View_Tutorial::viewComplexMenu($arrComplex, $complexAmount, $curUrl, $idCurComplex, $idCurLesson, $arrTheme, $idCurTheme, $idFolder, $idTutorial );

/*			if ($objSession->isLoggedIn() && $idUser == $arrLesson['ID_user'])
				echo '<form><input type="image" onclick="return confirm(\'Вы действительно хотите удалить урок??\')" name="deleteLesson" src="' . W_ABSPATH . 'content/images/icons/news/deleteNews.gif" value="удалить"/>';
			echo '<input type="hidden" name="idLesson" value="' . $idLesson . '" />
		  </form>';*/
		  echo '<div class="text">
		  	<div class="text wysiwyg-content">' . $arrLesson['lesson'] . '</div>
		  </div>';
			echo '<div id="social">';
				echo '<div class="service">';
					echo '<script src="' . W_JS . 'bookmarks.js" type="text/javascript"></script>';
				echo '</div>';
				echo '<div class="service" id="vkshare">';
					//echo '<script type="text/javascript" src="' . W_JS . 'share.js?10" charset="windows-1251"></script>';
					//echo '<script type="text/javascript">document.write(VK.Share.button(false,{type: "round", text: "Сохранить"}));</script>';
				echo '</div>';
				echo '<div class="service">';
					echo '<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal">Tweet</a>';
				echo '</div>';
				//echo '<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script><a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal">Tweet</a>';
				echo '<div class="service">';
					echo '<iframe src="http://www.facebook.com/plugins/like.php?href=' . trim(W_FULLPATH, '/') . $_SERVER['REQUEST_URI'] . '&layout=button_count&amp;show_faces=false&amp;width=80&amp;action=like&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:20px; " allowTransparency="true"></iframe>';
				echo '</div>';
				echo '<div style="clear:both;"></div>';
			echo '</div>';
			echo '
				<ul class="bottom_ocenku">
					<li><strong>Сложность:</strong>
					<div class="slognost">';
			View_Mark::showMark(7, $arrLesson, 1, 'complexity');
			echo
				'	</div>
					</li>
					<li><strong>Качество:</strong>
					<div class="kachestvo">';
			View_Mark::showMark(7, $arrLesson, 0, 'stars');
			echo '	</div> </li>
				</ul>';
			if(isset($arrLesson['userDeletedTagsInfo']) && $showEditTags) echo View_Tags::showTags(split(',', $arrLesson['tags']), $arrLesson['ID_tutorial_lesson'], 7, '', W_ABSPATH, ', ', $arrLesson['userDeletedTagsInfo']);
  }

  /**
   * вывод уроков в компактном виде, например на главной
   */
  public static function displayLessonsSimple($arrLessons){
//  	<li><a href="' . W_ABSPATH . 'tutorials?idFolder=' . $arr['ID_folder'] . '&pageNum=1">' . $arr['folder_name'] . '</a></li>
		foreach ($arrLessons as $arr)
			echo '
				<ul>

					<li><a href="' . W_ABSPATH . 'tutorial/' . $arr['url_name'] . '">' . $arr['tutorial_name'] . '</a></li>
					<li><a href="' . W_ABSPATH . 'tutorial/' . $arr['url_name'] . '/theme/' . $arr['ID_tutorial_theme'] . '/1">' . $arr['theme_name'] . '</a></li>
					<li class="last"><a href="' . W_ABSPATH . 'tutorial/' . $arr['url_name'] . '/lesson/' . $arr['ID_tutorial_lesson'] . '">' . $arr['lesson_name'] . '</a></li>
				</ul>';
	 }

  /**
   * вывод формы для сортировки
   */
  public static function displaySortForm($arrSort, $idfolder = NULL){
  	if (isset($arrSort['startDate'])){
  		$arrSort['startDate'] = join('.', array_reverse(split('-', $arrSort['startDate'])));
  		$arrSort['endDate'] = join('.', array_reverse(split('-', $arrSort['endDate'])));

  	}
  	echo '
  	<!--start box top content-->
			<div class="all_article list_tutorial">
					<div class="filter list_tutorial" id="main_forms">
				  	<form id="smallFilter" method="GET" action="' . W_ABSPATH . 'tutorials'; if(isset($idfolder)) echo '?idFolder=' . $idfolder; echo '">
				  	<b>Фильтр: </b>
				  	Создан после:
						<input type="text" class="datePicker" name="startDate" id="startDate" value="' . (!empty($arrSort['startDate']) ? $arrSort['startDate'] : '') . '" style="width:90px"/>


									<input id="filtrSmallBtn" value="Фильтровать" style="' . ($arrSort['tutorialFilter'] == 1 ? 'display:none;' : NULL) . 'margin-left:5px;" name="filterSmall" type="image" src="' . W_IMAGES . 'button/btn_filter.gif" />

							<div id="sort" style="display:' . ($arrSort['tutorialFilter'] == 0 ? 'none;' : 'inline;') . '">

								<p style="display:inline; margin-left:5px;">Создан до:

									<input class="datePicker" type="text" name="endDate" id="endDate" value="' . (!empty($arrSort['startDate']) ? $arrSort['endDate'] : NULL) . '" style="width:90px"/>
									<a class="jsHref" onclick="tutorial.listView.filter.setDay()" style="margin-left:5px;">День</a>&nbsp;&nbsp;<a class="jsHref" onclick="tutorial.listView.filter.setWeek()">Неделя</a>&nbsp;&nbsp;<a class="jsHref" onclick="tutorial.listView.filter.setMonth()">Месяц</a>&nbsp;&nbsp;<a class="jsHref" onclick="tutorial.listView.filter.setYear()">Год</a></p>

							<p>
						  <b>Сортировка: </b>
						  	Поле:
							  	<select id="sort" name="sort">
							  		<option value="1" ' . ($arrSort['sort'] == 1 ? 'selected="selected"' : NULL) . '>Дата создания последнего урока</option>
							  		<option value="2" ' . ($arrSort['sort'] == 2 ? 'selected="selected"' : NULL) . '>Дата</option>
							  	</select>
									Направление:
							   	 	 <input type="radio" class="rd" id="forward_direction" name="direction" value="1" ' . ($arrSort['direction'] != 2 ? 'checked' : NULL) . '>
							   	 	 Прямое

							   	 		<input type="radio" class="rd" id="reverse_direction" name="direction" value="2" ' . ($arrSort['direction'] == 2 ? 'checked' : NULL) . '>
							   	 		Обратное
							   	 		</p>



										<input id="tagsBtn" type="image"  name="filterBig" src="' . W_IMAGES . 'button/btn_filter.gif"/>


							' . (isset($idfolder) ? '<input type="hidden" name="idFolder" value="' . $idfolder . '"/>' : NULL) . '
							</div>
					  </form>
					</div>
				<div style="margin-top: 5px;"><a id="showSorting" onClick="' . ($arrSort['tutorialFilter'] == 0 ? 'tutorial.listView.filter.showSorting(' . $idfolder . ');' : 'tutorial.listView.filter.closeSorting(' . $idfolder . ');') . ' return false;" href="">Расширенная фильтрация и сортировка</a>
				</div>
			</div>';
  }

  public static function viewTutorialList($arrTutorials, $arrSort, $idFolder = NULL, $pageCount = 0){
  	self::displaySortForm($arrSort, $idFolder);

		$size = sizeof($arrTutorials);
		if ($size > 0){
			echo '<strong style="font-size: 16px;">Список самоучителей (<span>' . $pageCount . '</span>)</strong>';
			for ($i = 0; $i<$size; $i++){
				if ($arrSort['sort'] == 1){
													echo '
									<div class="tutorials_list">
										<ul>
											<li><a href="' . W_ABSPATH . 'tutorial/' . $arrTutorials[$i]['url_name'] . '">' . $arrTutorials[$i]['tutorial_name'] . '</a></li>
												<li><a href="' . W_ABSPATH . 'tutorial/' . $arrTutorials[$i]['url_name'] . '/theme/' . $arrTutorials[$i]['ID_tutorial_theme'] . '/1">' . $arrTutorials[$i]['theme_name'] . '</a></li>
											<li class="last"><a href="' . W_ABSPATH . 'tutorial/' . $arrTutorials[$i]['url_name'] . '/lesson/' . $arrTutorials[$i]['ID_last_lesson'] . '">' . $arrTutorials[$i]['lesson_name'] . '</a></li>
										</ul>
									</div>';
				}
				else {
													echo '
									<div class="tutorials_list">
										<ul>
											<li class="last"><a href="' . W_ABSPATH . 'tutorial/' . $arrTutorials[$i]['url_name'] . '">' . $arrTutorials[$i]['tutorial_name'] . '</a></li>
										</ul>
									</div>';
				}



//				echo '</p>';
			}
		}
		else {
			echo '<div class="no_essences_notice">
	  					<p>Самоучителей пока что нет.</p>

	  				</div>';

		}



  }

/**
   * Вывод списка уроков
   *
   * @param array $arrSolutions
   * @param int $idFolder - идентификатор раздела
   * @param int $chapterDescription - описание раздела
   * @param bool $isLastChapter - является ли текущий разделы "нижним" в структуре
   * @param int $numberOfPages - количество страниц
   * @param int $pageNum - номер страницы
   */
  public static function showLessonList(array $arrLessons) {
    echo '<div class="item">';
      echo '<div class="list_qwstion">
              <table>
                <tr class="bg_grey">
                  <th>Урок</th>
                  <th style="min-width: 50px;">Автор</th>
                  <th><img style="margin-right: 3px;" alt="" src="' . W_IMAGES . 'icons/img_qwestion_1.gif" height="14" width="16" title="Рейтинг" /></th>
                  <th><img style="margin-right: 3px;" alt="" src="' . W_IMAGES . 'icons/img_qwestion_4.gif" height="14" width="16" title="Опубликовано" /></th>
                </tr>';
        foreach ($arrLessons as $arrLesson) {
           echo '
           <tr idLesson="' . $arrLesson['ID_tutorial_lesson'] . '">
							<td>
								<div class="solution_links">
									<ul>
										<li><a href="' . W_ABSPATH . 'tutorial/' . $arrLesson['url_name'] . '">' . $arrLesson['tutorial_name'] . '</a></li>
										<li class="last"><a href="' . W_ABSPATH . 'tutorial/' . $arrLesson['url_name'] . '/lesson/' . $arrLesson['ID_tutorial_lesson'] . '">' . $arrLesson['lesson_name'] . '</a></li>
									</ul>
								</div>';
  				 echo View_Tags::showTagsInList($arrLesson['tags'], 7, 'tags_lesson');
  				 echo '
  				 		</td>
  				 		<td>
  				 			<a class="color_green" href="' . W_ABSPATH . 'user/' . $arrLesson['login'] . '">' . $arrLesson['login'] . '</a>
  				 		</td>
  				 		<td>
  				 			<strong>' . round($arrLesson['average_mark'], 2) . '</strong>
  				 		</td>
           		<td>
           			<strong>' . Service_Date::getShortDateForUser($arrLesson['creation']) . '</strong>
           		</td>';
        }

      echo '  </table>
            </div>';
    echo '</div>';
  }

  /**
   * Метод выводит список лучших уроков из всех самоучителей
   *
   * @param array $arrLessons
   */
  public static function viewLastLessonsOnAllTutorialListPage($arrLessons){
		$size = sizeof($arrLessons);
    for ($i=0;$i<$size;$i++){
    	$arrLessons[$i]['type'] = 'tutorial_lesson';
    }
    echo '<div id="select_tutorial">';
    View_Common::showRoundedBox('<h1 class="tutorial_main_headerTop"> <img src="' . W_IMAGES . 'icons/leftarrow.png"></img> Выберите самоучитель в меню слева</h1>', 'width:auto; margin-top:10px;');
    echo '</div>';
    echo '<h1 class="tutorial_main_header">Последние уроки</h1>';
    echo '<div class="bottom_border" id="lessons_list">';
    echo View_Tutorial::getLessonsTable($arrLessons);
		echo '</div>';
  }


/**
   * Вывод списка черновиков
   *
   * @param array $arrLessons
   */
  public static function showLessonsDraftList(array $arrLessons) {
    echo '<div class="item">';
      echo '<div class="list_qwstion">
              <table>
                <tr class="bg_grey">
                  <th>Урок</th>
                  <th style="min-width: 50px;">Автор</th>
                  <th><img style="margin-right: 3px;" alt="" src="' . W_IMAGES . 'icons/img_qwestion_4.gif" height="14" width="16" title="Опубликовано" /></th>
                </tr>';
        foreach ($arrLessons as $arrLesson) {
           echo '
           <tr idLesson="' . $arrLesson['ID_tutorial_lesson'] . '">
							<td>
								<div class="solution_links">
									<ul>';
						if ($arrLesson['url_name'])	echo '<li><a href="' . W_ABSPATH . 'tutorial/' . $arrLesson['url_name'] . '">' . $arrLesson['tutorial_name'] . '</a></li>';
						echo '<li class="last"><a href="' . W_ABSPATH . 'tutorial/draft/lesson/' . $arrLesson['ID_tutorial_lesson'] . '/editDraft">' . $arrLesson['lesson_name'] . '</a></li>
									</ul>
								</div>';
  				 echo View_Tags::showTagsInList($arrLesson['tags'], 7, 'tags_lesson');
  				 echo '
  				 		</td>
  				 		<td>
  				 			<a class="color_green" href="' . W_ABSPATH . 'user/' . $arrLesson['login'] . '">' . $arrLesson['login'] . '</a>
  				 		</td>
           		<td>
           			<strong>' . Service_Date::getShortDateForUser($arrLesson['creation']) . '</strong>
           		</td>';
        }

      echo '  </table>
            </div>';
    echo '</div>';
  }


	public static function getLessonsTable($arrLessons){
	  	$str = '<table cellspacing="0" width="100%">';
				foreach ($arrLessons as $key=>$essence){
		  		$str .= '<tr class="main ' . $essence['type'] . '_' . $essence['ID_user'] . '_main';
		  		$str .= (isset($essence['show']) && !$essence['show']) ? ' notOnThisPage" style="display:none;"' : '"';
		  		$str .= (isset($essence['ID_tutorial_theme'])) ? ' idTheme="' . $essence['ID_tutorial_theme'] . '" ' : ''; // для главной самоучителя
		  		$str .= '>';
		  			$str .= '<td class="essenceType">';
						$str .= '<img src="' . W_IMAGES . 'background/min_lesson.png" title="Урок"/>';
						$str .= '</td>';
		  			$str .= '<td class="crumb">';
						$str .= View_UniversalInference::getLesson($essence, false);
						$str .= '</td>';

//		  		$str .= '</tr>';

/*		  		$str .= '<tr class="info ' . $essence['type'] . '_' . $essence['ID_user'] . '_fullInfo';
		  		$str .= (isset($essence['show']) && !$essence['show']) ? ' notOnThisPage" style="display:none;"' : '"';
		  		$str .= (isset($essence['ID_tutorial_theme'])) ? ' idTheme="' . $essence['ID_tutorial_theme'] . '" ' : ''; // для главной самоучителя
		  		$str .= '>';*/

		  			$str .= '<td class="dateImg"><img src="' . W_IMAGES . 'background/bg_date.gif" title="Дата"></td>';
		  			$str .= '<td class="date"><p>' . Service_Date::getCaseDateForUser($essence['creation']) . '</p></td>';

		  			$str .= '<td class="userImg"><img src="' . W_IMAGES . 'background/bg_user.gif"/></td>';
		  			$str .= '<td class="user"><p class="fade"><a class="underGreen" href="' . W_ABSPATH . 'user/' . $essence['login'] . '">' . $essence['login'] . '</a><i class="fade2"></i></p></td>';

		  			$str .= '<td class="ratingImg"><img src="' . W_IMAGES . 'background/bg_rating_one.jpg"/></td>';
		  			$str .= '<td class="rating"><p>' . (($essence['type'] == 'community') ? '&ndash;' : round($essence['total_mark'], 2)) . '</p></td>';

		  			$str .= '<td class="commentsImg"><img src="' . W_IMAGES . 'background/index_commens.png"/></td>';
		  			$str .= '<td class="comments"><p><a class="none" href="' . W_ABSPATH . Service_Essence::getEssenceUrl(Service_Essence::getEssenceTypeIDByName($essence['type']), $essence['ID_' . $essence['type']]) . '#comments">' . ($essence['type'] == 'question' ? $essence['comment_amount'] + $essence['answer_amount'] : $essence['comment_amount']) .'</a></p></td>';

		  		$str .= '</tr>';

		  		$str .= '<tr class="bottom ' . $essence['type'] . '_' . $essence['ID_user'] . '_bottom';
		  		$str .= (isset($essence['show']) && !$essence['show']) ? ' notOnThisPage" style="display:none;"' : '"';
		  		$str .= (isset($essence['ID_tutorial_theme'])) ? ' idTheme="' . $essence['ID_tutorial_theme'] . '" ' : ''; // для главной самоучителя
		  		$str .= '>';
		  			$str .= '<td class="border" colspan="11"></td>';
		  		$str .= '</tr>';
				}
	  	$str .= '</table>';
	  	return $str;
	}

}
?>